<html>
<head>
  <title>26-死锁分析</title>
  <basefont face="微软雅黑" size="2" />
  <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
  <meta name="exporter-version" content="YXBJ Windows/600646 (zh-CN, DDL); Windows/6.1.1 (Win64);"/>
  <meta name="content-class" content="yinxiang.markdown"/>
  <style>
    body, td {
      font-family: 微软雅黑;
      font-size: 10pt;
    }
  </style>
</head>
<body>
<a name="1287"/>
<h1>26-死锁分析</h1>

<div><span><div style="font-size: 14px; margin: 0; padding: 0; width: 100%;"><h4 style="line-height: 160%; box-sizing: content-box; font-size: 20px; color: #333;">死锁的发生</h4>
<p style="line-height: 160%; box-sizing: content-box; margin: 10px 0; color: #333;">两个事务都持有另一个事务需要的锁，因为两个事物都在等待资源可用，所以它们都不会释放已拥有的资源。这就导致了<strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">死锁</strong>。</p>
<p style="line-height: 160%; box-sizing: content-box; margin: 10px 0; color: #333;">死锁是事务数据库中的一个典型问题，但它们并不危险，除非它们如此频繁以至于根本无法运行某些事务。通常，您必须编写应用程序，以便在由于死锁而回滚时，它们始终准备重新发出事务。</p>
<p style="line-height: 160%; box-sizing: content-box; margin: 10px 0; color: #333;">InnoDB使用自动行级锁定。即使只是插入或删除单行的事务，您也可能会遇到死锁。那是因为这些操作并非真正的“ 原子 ” ; 它们会自动设置对插入或删除的行的（可能是几个）索引记录的锁定。</p>
<h4 style="line-height: 160%; box-sizing: content-box; font-size: 20px; color: #333;">死锁示例</h4>
<p style="line-height: 160%; box-sizing: content-box; margin: 10px 0; color: #333;">以下示例说明了锁定请求导致死锁时如何发生错误。该示例涉及两个客户端，A和B。</p>
<p style="line-height: 160%; box-sizing: content-box; margin: 10px 0; color: #333;">首先，客户端A创建一个包含一行的表，然后开始一个事务。在事务中，A通过S在共享模式中选择它来获取该行的 锁定：<br/>
<img src="26-死锁分析_files/Image.png" type="image/png" data-filename="Image.png"/></p>
<p style="line-height: 160%; box-sizing: content-box; margin: 10px 0; color: #333;">接下来，客户端B开始一个事务并尝试从表中删除该行：<br/>
<img src="26-死锁分析_files/Image [1].png" type="image/png" data-filename="Image.png"/></p>
<p style="line-height: 160%; box-sizing: content-box; margin: 10px 0; color: #333;">删除操作需要X锁，因为它与客户端A持有的S锁不兼容，因此请求将进入行和客户端B的锁定请求队列。</p>
<p style="line-height: 160%; box-sizing: content-box; margin: 10px 0; color: #333;">最后，客户端A还尝试从表中删除该行：<br/>
<img src="26-死锁分析_files/Image [2].png" type="image/png" data-filename="Image.png"/></p>
<p style="line-height: 160%; box-sizing: content-box; margin: 10px 0; color: #333;">此处发生死锁，因为客户端A需要X锁才能删除该行，但是无法授予该锁请求，因为客户端B已经有X锁请求并且正在等待客户端A释放其S锁。由于B先要求锁定，因此S锁持有的锁也不能升级为X锁。结果，InnoDB为其中一个客户端生成错误并释放其他·锁定，客户端返回此错误：<br/>
<img src="26-死锁分析_files/Image [3].png" type="image/png" data-filename="Image.png"/></p>
<h4 style="line-height: 160%; box-sizing: content-box; font-size: 20px; color: #333;">死锁的检测与回滚</h4>
<p style="line-height: 160%; box-sizing: content-box; margin: 10px 0; color: #333;">MySQL默认情况下是开启了死锁检测的，InnoDB自动检测发送死锁的事务，并回滚其中的一个事务或所有导致死锁的事务。<strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">InnoDB会在导致死锁的事务中选择一个权重比较小的事务来回滚，这个权重值可能是由该事务insert, updated, deleted的行数决定的</strong>。</p>
<p style="line-height: 160%; box-sizing: content-box; margin: 10px 0; color: #333;">如果innodb_table_locks = 1(默认值)并且autocommit = 0，则InnoDB能感知到表锁的存在，并且上层的MySQL层知道行级锁。 否则，InnoDB无法检测到由MySQL LOCK TABLES语句设置的表锁或由除InnoDB之外的存储引擎设置的锁定的死锁。通过设置<strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">innodb_lock_wait_timeout系统变量</strong>的值来解决这些情况。</p>
<p style="line-height: 160%; box-sizing: content-box; margin: 10px 0; color: #333;">当InnoDB执行事务的完全回滚时，将释放由事务设置的所有锁。 但是，如果单个SQL语句由于错误而回滚，则语句设置的某些锁可能会被保留。 这是因为InnoDB以一种格式存储行锁，以致之后不能知道哪个锁由哪个语句设置。</p>
<p style="line-height: 160%; box-sizing: content-box; margin: 10px 0; color: #333;">如果SELECT调用事务中存储的函数，并且函数中的语句失败，则该语句将回滚。 此外，如果在此之后执行ROLLBACK，整个事务将回滚。</p>
<p style="line-height: 160%; box-sizing: content-box; margin: 10px 0; color: #333;">如果InnoDB监控器输出的最近死锁检测部分包含一条消息，指出TOO DEEP OR LONG SEARCH IN THE LOCK TABLE WAITS-FOR GRAPH, WE WILL ROLL BACK FOLLOWING TRANSACTION，这表示处于等待的事务列表长度已达到限制200。超过200个事务的等待列表被视为死锁，并且将回滚尝试检查等待列表的事务。 如果锁定线程必须查看等待列表上的事务拥有的超过1,000,000个锁，则也可能发生相同的错误。</p>
<p style="line-height: 160%; box-sizing: content-box; margin: 10px 0; color: #333;"><strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">innodb_deadlock_detect</strong>：<br/>
可以使用innodb_deadlock_detect 配置选项（0关，1开）禁用死锁检测。在高并发系统上，当许多线程等待同一个锁时，死锁检测可能导致速度减慢。 有时，当发生死锁时，如果禁用了死锁检测则可能会更有效，这样可以依赖<strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">innodb_lock_wait_timeout</strong>（参数单位：<strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">秒</strong>）的设置进行事务回滚。</p>
<p style="line-height: 160%; box-sizing: content-box; margin: 10px 0; color: #333;"><strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">innodb_lock_wait_timeout</strong>：<br/>
事务放弃前InnoDB等待<strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">行锁定</strong>的时间长度（单位：<strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">秒</strong>）。默认值是50秒。<br/>
<strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">发生锁定等待超时时，将回滚当前语句 （而不是整个事务）</strong>。要使整个事务回滚，请使用该--innodb-rollback-on-timeout 选项启动服务器 。</p>
<p style="line-height: 160%; box-sizing: content-box; margin: 10px 0; color: #333;">innodb_deadlock_detect启用时（默认值） 锁定等待超时值只适用于锁等待，而不适用于 死锁，因为InnoDB 会立即检测到死锁并回滚其中一个死锁事务。<strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">当 innodb_deadlock_detect被禁用，InnoDB才会在发生死锁时，依赖于innodb_lock_wait_timeout对事务进行回滚</strong>。</p>
<ul style="line-height: 160%; box-sizing: content-box; display: block; list-style-type: disc; padding-left: 30px; margin: 6px 0 10px; color: #333;">
<li style="line-height: 160%; box-sizing: content-box; position: relative;">可以为高度交互的应用程序或OLTP系统降低此值，以快速显示用户反馈或将更新放入队列以便稍后处理。</li>
<li style="line-height: 160%; box-sizing: content-box; position: relative;">可以为长时间运行的后端操作增加此值，例如等待其他大型插入或更新操作完成的数据仓库中的转换步骤。</li>
</ul>
<h4 style="line-height: 160%; box-sizing: content-box; font-size: 20px; color: #333;">如何最小化和处理死锁</h4>
<ul style="line-height: 160%; box-sizing: content-box; display: block; list-style-type: disc; padding-left: 30px; margin: 6px 0 10px; color: #333;">
<li style="line-height: 160%; box-sizing: content-box; position: relative;">使用<strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">show engine innodb status</strong>命令以确定最近死锁的原因；</li>
<li style="line-height: 160%; box-sizing: content-box; position: relative;">通过<strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">innodb_deadlock_detect（死锁检测）</strong>，并设置合理的<strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">innodb_lock_wait_timeout</strong>变量值，高并发系统尽可能小，长时间运行的后端操作尽可能大；</li>
<li style="line-height: 160%; box-sizing: content-box; position: relative;">如果死锁频繁发生，可以通过开启<strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">innodb_print_all_deadlocks</strong>配置选项收集更多的调试信息。有关每个死锁的信息，都会记录在MySQL错误日志中，完成调试后禁用此选项。</li>
<li style="line-height: 160%; box-sizing: content-box; position: relative;">如果由于死锁而导致事务失败，可以尝试进行事务重试；</li>
<li style="line-height: 160%; box-sizing: content-box; position: relative;">尽量使事务足够小，避免使用较大的事务；</li>
<li style="line-height: 160%; box-sizing: content-box; position: relative;">当不同的事务更新多个表或者大范围的行时，每个事务中操作数据的顺序尽量相同；</li>
<li style="line-height: 160%; box-sizing: content-box; position: relative;">建立合适高效的索引，使得操作需要扫描的索引记录尽可能的少，从而设置更少的锁；</li>
<li style="line-height: 160%; box-sizing: content-box; position: relative;">合理设置数据库的隔离级别，在<strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">锁定读操作</strong>较多的业务系统中，请尝试使用较低的隔离级别；</li>
<li style="line-height: 160%; box-sizing: content-box; position: relative;">合理地设计事务和应用程序的结构；</li>
<li style="line-height: 160%; box-sizing: content-box; position: relative;">在事务开始时，就获取足够权限的锁；</li>
<li style="line-height: 160%; box-sizing: content-box; position: relative;">当不得不操作非常大的数据量时，可以使用表级锁对事务进行序列化。使用方法：SET autocommit = 0（非 START TRANSACTION）后跟开始事务LOCK TABLES，并且UNLOCK TABLES在显式提交事务之前不调用 。例如，如果您需要写入表 t1并从表中读取 t2，则可以执行以下操作：<img src="26-死锁分析_files/Image [4].png" type="image/png" data-filename="Image.png"/><br/>
表级锁可防止对表的并发更新，从而避免死锁，但代价是对繁忙系统的响应性较低。</li>
</ul>
</div><center style="display:none !important;visibility:collapse !important;height:0 !important;white-space:nowrap;width:100%;overflow:hidden">%23%23%23%23%20%E6%AD%BB%E9%94%81%E7%9A%84%E5%8F%91%E7%94%9F%0A%0A%E4%B8%A4%E4%B8%AA%E4%BA%8B%E5%8A%A1%E9%83%BD%E6%8C%81%E6%9C%89%E5%8F%A6%E4%B8%80%E4%B8%AA%E4%BA%8B%E5%8A%A1%E9%9C%80%E8%A6%81%E7%9A%84%E9%94%81%EF%BC%8C%E5%9B%A0%E4%B8%BA%E4%B8%A4%E4%B8%AA%E4%BA%8B%E7%89%A9%E9%83%BD%E5%9C%A8%E7%AD%89%E5%BE%85%E8%B5%84%E6%BA%90%E5%8F%AF%E7%94%A8%EF%BC%8C%E6%89%80%E4%BB%A5%E5%AE%83%E4%BB%AC%E9%83%BD%E4%B8%8D%E4%BC%9A%E9%87%8A%E6%94%BE%E5%B7%B2%E6%8B%A5%E6%9C%89%E7%9A%84%E8%B5%84%E6%BA%90%E3%80%82%E8%BF%99%E5%B0%B1%E5%AF%BC%E8%87%B4%E4%BA%86**%E6%AD%BB%E9%94%81**%E3%80%82%0A%0A%E6%AD%BB%E9%94%81%E6%98%AF%E4%BA%8B%E5%8A%A1%E6%95%B0%E6%8D%AE%E5%BA%93%E4%B8%AD%E7%9A%84%E4%B8%80%E4%B8%AA%E5%85%B8%E5%9E%8B%E9%97%AE%E9%A2%98%EF%BC%8C%E4%BD%86%E5%AE%83%E4%BB%AC%E5%B9%B6%E4%B8%8D%E5%8D%B1%E9%99%A9%EF%BC%8C%E9%99%A4%E9%9D%9E%E5%AE%83%E4%BB%AC%E5%A6%82%E6%AD%A4%E9%A2%91%E7%B9%81%E4%BB%A5%E8%87%B3%E4%BA%8E%E6%A0%B9%E6%9C%AC%E6%97%A0%E6%B3%95%E8%BF%90%E8%A1%8C%E6%9F%90%E4%BA%9B%E4%BA%8B%E5%8A%A1%E3%80%82%E9%80%9A%E5%B8%B8%EF%BC%8C%E6%82%A8%E5%BF%85%E9%A1%BB%E7%BC%96%E5%86%99%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F%EF%BC%8C%E4%BB%A5%E4%BE%BF%E5%9C%A8%E7%94%B1%E4%BA%8E%E6%AD%BB%E9%94%81%E8%80%8C%E5%9B%9E%E6%BB%9A%E6%97%B6%EF%BC%8C%E5%AE%83%E4%BB%AC%E5%A7%8B%E7%BB%88%E5%87%86%E5%A4%87%E9%87%8D%E6%96%B0%E5%8F%91%E5%87%BA%E4%BA%8B%E5%8A%A1%E3%80%82%0A%0AInnoDB%E4%BD%BF%E7%94%A8%E8%87%AA%E5%8A%A8%E8%A1%8C%E7%BA%A7%E9%94%81%E5%AE%9A%E3%80%82%E5%8D%B3%E4%BD%BF%E5%8F%AA%E6%98%AF%E6%8F%92%E5%85%A5%E6%88%96%E5%88%A0%E9%99%A4%E5%8D%95%E8%A1%8C%E7%9A%84%E4%BA%8B%E5%8A%A1%EF%BC%8C%E6%82%A8%E4%B9%9F%E5%8F%AF%E8%83%BD%E4%BC%9A%E9%81%87%E5%88%B0%E6%AD%BB%E9%94%81%E3%80%82%E9%82%A3%E6%98%AF%E5%9B%A0%E4%B8%BA%E8%BF%99%E4%BA%9B%E6%93%8D%E4%BD%9C%E5%B9%B6%E9%9D%9E%E7%9C%9F%E6%AD%A3%E7%9A%84%E2%80%9C%C2%A0%E5%8E%9F%E5%AD%90%C2%A0%E2%80%9D%C2%A0%3B%C2%A0%E5%AE%83%E4%BB%AC%E4%BC%9A%E8%87%AA%E5%8A%A8%E8%AE%BE%E7%BD%AE%E5%AF%B9%E6%8F%92%E5%85%A5%E6%88%96%E5%88%A0%E9%99%A4%E7%9A%84%E8%A1%8C%E7%9A%84%EF%BC%88%E5%8F%AF%E8%83%BD%E6%98%AF%E5%87%A0%E4%B8%AA%EF%BC%89%E7%B4%A2%E5%BC%95%E8%AE%B0%E5%BD%95%E7%9A%84%E9%94%81%E5%AE%9A%E3%80%82%0A%0A%23%23%23%23%20%E6%AD%BB%E9%94%81%E7%A4%BA%E4%BE%8B%0A%0A%E4%BB%A5%E4%B8%8B%E7%A4%BA%E4%BE%8B%E8%AF%B4%E6%98%8E%E4%BA%86%E9%94%81%E5%AE%9A%E8%AF%B7%E6%B1%82%E5%AF%BC%E8%87%B4%E6%AD%BB%E9%94%81%E6%97%B6%E5%A6%82%E4%BD%95%E5%8F%91%E7%94%9F%E9%94%99%E8%AF%AF%E3%80%82%E8%AF%A5%E7%A4%BA%E4%BE%8B%E6%B6%89%E5%8F%8A%E4%B8%A4%E4%B8%AA%E5%AE%A2%E6%88%B7%E7%AB%AF%EF%BC%8CA%E5%92%8CB%E3%80%82%0A%0A%E9%A6%96%E5%85%88%EF%BC%8C%E5%AE%A2%E6%88%B7%E7%AB%AFA%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E5%8C%85%E5%90%AB%E4%B8%80%E8%A1%8C%E7%9A%84%E8%A1%A8%EF%BC%8C%E7%84%B6%E5%90%8E%E5%BC%80%E5%A7%8B%E4%B8%80%E4%B8%AA%E4%BA%8B%E5%8A%A1%E3%80%82%E5%9C%A8%E4%BA%8B%E5%8A%A1%E4%B8%AD%EF%BC%8CA%E9%80%9A%E8%BF%87S%E5%9C%A8%E5%85%B1%E4%BA%AB%E6%A8%A1%E5%BC%8F%E4%B8%AD%E9%80%89%E6%8B%A9%E5%AE%83%E6%9D%A5%E8%8E%B7%E5%8F%96%E8%AF%A5%E8%A1%8C%E7%9A%84%C2%A0%E9%94%81%E5%AE%9A%EF%BC%9A%0A!%5Bdb11e34b76dd290523b69dced6d7d70c.png%5D(en-resource%3A%2F%2Fdatabase%2F1289%3A0)%0A%0A%E6%8E%A5%E4%B8%8B%E6%9D%A5%EF%BC%8C%E5%AE%A2%E6%88%B7%E7%AB%AFB%E5%BC%80%E5%A7%8B%E4%B8%80%E4%B8%AA%E4%BA%8B%E5%8A%A1%E5%B9%B6%E5%B0%9D%E8%AF%95%E4%BB%8E%E8%A1%A8%E4%B8%AD%E5%88%A0%E9%99%A4%E8%AF%A5%E8%A1%8C%EF%BC%9A%0A!%5B107d92d12b7ce3bbb19005adfbd79d6c.png%5D(en-resource%3A%2F%2Fdatabase%2F1291%3A0)%0A%0A%E5%88%A0%E9%99%A4%E6%93%8D%E4%BD%9C%E9%9C%80%E8%A6%81X%E9%94%81%EF%BC%8C%E5%9B%A0%E4%B8%BA%E5%AE%83%E4%B8%8E%E5%AE%A2%E6%88%B7%E7%AB%AFA%E6%8C%81%E6%9C%89%E7%9A%84S%E9%94%81%E4%B8%8D%E5%85%BC%E5%AE%B9%EF%BC%8C%E5%9B%A0%E6%AD%A4%E8%AF%B7%E6%B1%82%E5%B0%86%E8%BF%9B%E5%85%A5%E8%A1%8C%E5%92%8C%E5%AE%A2%E6%88%B7%E7%AB%AFB%E7%9A%84%E9%94%81%E5%AE%9A%E8%AF%B7%E6%B1%82%E9%98%9F%E5%88%97%E3%80%82%0A%0A%E6%9C%80%E5%90%8E%EF%BC%8C%E5%AE%A2%E6%88%B7%E7%AB%AFA%E8%BF%98%E5%B0%9D%E8%AF%95%E4%BB%8E%E8%A1%A8%E4%B8%AD%E5%88%A0%E9%99%A4%E8%AF%A5%E8%A1%8C%EF%BC%9A%0A!%5B9020923c14b2cbc5595a3fd98dfc57c6.png%5D(en-resource%3A%2F%2Fdatabase%2F1293%3A0)%0A%0A%E6%AD%A4%E5%A4%84%E5%8F%91%E7%94%9F%E6%AD%BB%E9%94%81%EF%BC%8C%E5%9B%A0%E4%B8%BA%E5%AE%A2%E6%88%B7%E7%AB%AFA%E9%9C%80%E8%A6%81X%E9%94%81%E6%89%8D%E8%83%BD%E5%88%A0%E9%99%A4%E8%AF%A5%E8%A1%8C%EF%BC%8C%E4%BD%86%E6%98%AF%E6%97%A0%E6%B3%95%E6%8E%88%E4%BA%88%E8%AF%A5%E9%94%81%E8%AF%B7%E6%B1%82%EF%BC%8C%E5%9B%A0%E4%B8%BA%E5%AE%A2%E6%88%B7%E7%AB%AFB%E5%B7%B2%E7%BB%8F%E6%9C%89X%E9%94%81%E8%AF%B7%E6%B1%82%E5%B9%B6%E4%B8%94%E6%AD%A3%E5%9C%A8%E7%AD%89%E5%BE%85%E5%AE%A2%E6%88%B7%E7%AB%AFA%E9%87%8A%E6%94%BE%E5%85%B6S%E9%94%81%E3%80%82%E7%94%B1%E4%BA%8EB%E5%85%88%E8%A6%81%E6%B1%82%E9%94%81%E5%AE%9A%EF%BC%8C%E5%9B%A0%E6%AD%A4S%E9%94%81%E6%8C%81%E6%9C%89%E7%9A%84%E9%94%81%E4%B9%9F%E4%B8%8D%E8%83%BD%E5%8D%87%E7%BA%A7%E4%B8%BAX%E9%94%81%E3%80%82%E7%BB%93%E6%9E%9C%EF%BC%8CInnoDB%E4%B8%BA%E5%85%B6%E4%B8%AD%E4%B8%80%E4%B8%AA%E5%AE%A2%E6%88%B7%E7%AB%AF%E7%94%9F%E6%88%90%E9%94%99%E8%AF%AF%E5%B9%B6%E9%87%8A%E6%94%BE%E5%85%B6%E4%BB%96%C2%B7%E9%94%81%E5%AE%9A%EF%BC%8C%E5%AE%A2%E6%88%B7%E7%AB%AF%E8%BF%94%E5%9B%9E%E6%AD%A4%E9%94%99%E8%AF%AF%EF%BC%9A%0A!%5Bf88a3cb58bee078b07467a71ef932d1f.png%5D(en-resource%3A%2F%2Fdatabase%2F1295%3A0)%0A%0A%23%23%23%23%20%E6%AD%BB%E9%94%81%E7%9A%84%E6%A3%80%E6%B5%8B%E4%B8%8E%E5%9B%9E%E6%BB%9A%0A%0AMySQL%E9%BB%98%E8%AE%A4%E6%83%85%E5%86%B5%E4%B8%8B%E6%98%AF%E5%BC%80%E5%90%AF%E4%BA%86%E6%AD%BB%E9%94%81%E6%A3%80%E6%B5%8B%E7%9A%84%EF%BC%8CInnoDB%E8%87%AA%E5%8A%A8%E6%A3%80%E6%B5%8B%E5%8F%91%E9%80%81%E6%AD%BB%E9%94%81%E7%9A%84%E4%BA%8B%E5%8A%A1%EF%BC%8C%E5%B9%B6%E5%9B%9E%E6%BB%9A%E5%85%B6%E4%B8%AD%E7%9A%84%E4%B8%80%E4%B8%AA%E4%BA%8B%E5%8A%A1%E6%88%96%E6%89%80%E6%9C%89%E5%AF%BC%E8%87%B4%E6%AD%BB%E9%94%81%E7%9A%84%E4%BA%8B%E5%8A%A1%E3%80%82**InnoDB%E4%BC%9A%E5%9C%A8%E5%AF%BC%E8%87%B4%E6%AD%BB%E9%94%81%E7%9A%84%E4%BA%8B%E5%8A%A1%E4%B8%AD%E9%80%89%E6%8B%A9%E4%B8%80%E4%B8%AA%E6%9D%83%E9%87%8D%E6%AF%94%E8%BE%83%E5%B0%8F%E7%9A%84%E4%BA%8B%E5%8A%A1%E6%9D%A5%E5%9B%9E%E6%BB%9A%EF%BC%8C%E8%BF%99%E4%B8%AA%E6%9D%83%E9%87%8D%E5%80%BC%E5%8F%AF%E8%83%BD%E6%98%AF%E7%94%B1%E8%AF%A5%E4%BA%8B%E5%8A%A1insert%2C%20updated%2C%20deleted%E7%9A%84%E8%A1%8C%E6%95%B0%E5%86%B3%E5%AE%9A%E7%9A%84**%E3%80%82%0A%0A%E5%A6%82%E6%9E%9Cinnodb_table_locks%20%3D%201(%E9%BB%98%E8%AE%A4%E5%80%BC)%E5%B9%B6%E4%B8%94autocommit%20%3D%200%EF%BC%8C%E5%88%99InnoDB%E8%83%BD%E6%84%9F%E7%9F%A5%E5%88%B0%E8%A1%A8%E9%94%81%E7%9A%84%E5%AD%98%E5%9C%A8%EF%BC%8C%E5%B9%B6%E4%B8%94%E4%B8%8A%E5%B1%82%E7%9A%84MySQL%E5%B1%82%E7%9F%A5%E9%81%93%E8%A1%8C%E7%BA%A7%E9%94%81%E3%80%82%20%E5%90%A6%E5%88%99%EF%BC%8CInnoDB%E6%97%A0%E6%B3%95%E6%A3%80%E6%B5%8B%E5%88%B0%E7%94%B1MySQL%20LOCK%20TABLES%E8%AF%AD%E5%8F%A5%E8%AE%BE%E7%BD%AE%E7%9A%84%E8%A1%A8%E9%94%81%E6%88%96%E7%94%B1%E9%99%A4InnoDB%E4%B9%8B%E5%A4%96%E7%9A%84%E5%AD%98%E5%82%A8%E5%BC%95%E6%93%8E%E8%AE%BE%E7%BD%AE%E7%9A%84%E9%94%81%E5%AE%9A%E7%9A%84%E6%AD%BB%E9%94%81%E3%80%82%E9%80%9A%E8%BF%87%E8%AE%BE%E7%BD%AE**innodb_lock_wait_timeout%E7%B3%BB%E7%BB%9F%E5%8F%98%E9%87%8F**%E7%9A%84%E5%80%BC%E6%9D%A5%E8%A7%A3%E5%86%B3%E8%BF%99%E4%BA%9B%E6%83%85%E5%86%B5%E3%80%82%0A%0A%E5%BD%93InnoDB%E6%89%A7%E8%A1%8C%E4%BA%8B%E5%8A%A1%E7%9A%84%E5%AE%8C%E5%85%A8%E5%9B%9E%E6%BB%9A%E6%97%B6%EF%BC%8C%E5%B0%86%E9%87%8A%E6%94%BE%E7%94%B1%E4%BA%8B%E5%8A%A1%E8%AE%BE%E7%BD%AE%E7%9A%84%E6%89%80%E6%9C%89%E9%94%81%E3%80%82%20%E4%BD%86%E6%98%AF%EF%BC%8C%E5%A6%82%E6%9E%9C%E5%8D%95%E4%B8%AASQL%E8%AF%AD%E5%8F%A5%E7%94%B1%E4%BA%8E%E9%94%99%E8%AF%AF%E8%80%8C%E5%9B%9E%E6%BB%9A%EF%BC%8C%E5%88%99%E8%AF%AD%E5%8F%A5%E8%AE%BE%E7%BD%AE%E7%9A%84%E6%9F%90%E4%BA%9B%E9%94%81%E5%8F%AF%E8%83%BD%E4%BC%9A%E8%A2%AB%E4%BF%9D%E7%95%99%E3%80%82%20%E8%BF%99%E6%98%AF%E5%9B%A0%E4%B8%BAInnoDB%E4%BB%A5%E4%B8%80%E7%A7%8D%E6%A0%BC%E5%BC%8F%E5%AD%98%E5%82%A8%E8%A1%8C%E9%94%81%EF%BC%8C%E4%BB%A5%E8%87%B4%E4%B9%8B%E5%90%8E%E4%B8%8D%E8%83%BD%E7%9F%A5%E9%81%93%E5%93%AA%E4%B8%AA%E9%94%81%E7%94%B1%E5%93%AA%E4%B8%AA%E8%AF%AD%E5%8F%A5%E8%AE%BE%E7%BD%AE%E3%80%82%0A%0A%E5%A6%82%E6%9E%9CSELECT%E8%B0%83%E7%94%A8%E4%BA%8B%E5%8A%A1%E4%B8%AD%E5%AD%98%E5%82%A8%E7%9A%84%E5%87%BD%E6%95%B0%EF%BC%8C%E5%B9%B6%E4%B8%94%E5%87%BD%E6%95%B0%E4%B8%AD%E7%9A%84%E8%AF%AD%E5%8F%A5%E5%A4%B1%E8%B4%A5%EF%BC%8C%E5%88%99%E8%AF%A5%E8%AF%AD%E5%8F%A5%E5%B0%86%E5%9B%9E%E6%BB%9A%E3%80%82%20%E6%AD%A4%E5%A4%96%EF%BC%8C%E5%A6%82%E6%9E%9C%E5%9C%A8%E6%AD%A4%E4%B9%8B%E5%90%8E%E6%89%A7%E8%A1%8CROLLBACK%EF%BC%8C%E6%95%B4%E4%B8%AA%E4%BA%8B%E5%8A%A1%E5%B0%86%E5%9B%9E%E6%BB%9A%E3%80%82%0A%0A%E5%A6%82%E6%9E%9CInnoDB%E7%9B%91%E6%8E%A7%E5%99%A8%E8%BE%93%E5%87%BA%E7%9A%84%E6%9C%80%E8%BF%91%E6%AD%BB%E9%94%81%E6%A3%80%E6%B5%8B%E9%83%A8%E5%88%86%E5%8C%85%E5%90%AB%E4%B8%80%E6%9D%A1%E6%B6%88%E6%81%AF%EF%BC%8C%E6%8C%87%E5%87%BATOO%20DEEP%20OR%20LONG%20SEARCH%20IN%20THE%20LOCK%20TABLE%20WAITS-FOR%20GRAPH%2C%20WE%20WILL%20ROLL%20BACK%20FOLLOWING%20TRANSACTION%EF%BC%8C%E8%BF%99%E8%A1%A8%E7%A4%BA%E5%A4%84%E4%BA%8E%E7%AD%89%E5%BE%85%E7%9A%84%E4%BA%8B%E5%8A%A1%E5%88%97%E8%A1%A8%E9%95%BF%E5%BA%A6%E5%B7%B2%E8%BE%BE%E5%88%B0%E9%99%90%E5%88%B6200%E3%80%82%E8%B6%85%E8%BF%87200%E4%B8%AA%E4%BA%8B%E5%8A%A1%E7%9A%84%E7%AD%89%E5%BE%85%E5%88%97%E8%A1%A8%E8%A2%AB%E8%A7%86%E4%B8%BA%E6%AD%BB%E9%94%81%EF%BC%8C%E5%B9%B6%E4%B8%94%E5%B0%86%E5%9B%9E%E6%BB%9A%E5%B0%9D%E8%AF%95%E6%A3%80%E6%9F%A5%E7%AD%89%E5%BE%85%E5%88%97%E8%A1%A8%E7%9A%84%E4%BA%8B%E5%8A%A1%E3%80%82%20%E5%A6%82%E6%9E%9C%E9%94%81%E5%AE%9A%E7%BA%BF%E7%A8%8B%E5%BF%85%E9%A1%BB%E6%9F%A5%E7%9C%8B%E7%AD%89%E5%BE%85%E5%88%97%E8%A1%A8%E4%B8%8A%E7%9A%84%E4%BA%8B%E5%8A%A1%E6%8B%A5%E6%9C%89%E7%9A%84%E8%B6%85%E8%BF%871%2C000%2C000%E4%B8%AA%E9%94%81%EF%BC%8C%E5%88%99%E4%B9%9F%E5%8F%AF%E8%83%BD%E5%8F%91%E7%94%9F%E7%9B%B8%E5%90%8C%E7%9A%84%E9%94%99%E8%AF%AF%E3%80%82%0A%0A**innodb_deadlock_detect**%EF%BC%9A%0A%E5%8F%AF%E4%BB%A5%E4%BD%BF%E7%94%A8innodb_deadlock_detect%C2%A0%E9%85%8D%E7%BD%AE%E9%80%89%E9%A1%B9%EF%BC%880%E5%85%B3%EF%BC%8C1%E5%BC%80%EF%BC%89%E7%A6%81%E7%94%A8%E6%AD%BB%E9%94%81%E6%A3%80%E6%B5%8B%E3%80%82%E5%9C%A8%E9%AB%98%E5%B9%B6%E5%8F%91%E7%B3%BB%E7%BB%9F%E4%B8%8A%EF%BC%8C%E5%BD%93%E8%AE%B8%E5%A4%9A%E7%BA%BF%E7%A8%8B%E7%AD%89%E5%BE%85%E5%90%8C%E4%B8%80%E4%B8%AA%E9%94%81%E6%97%B6%EF%BC%8C%E6%AD%BB%E9%94%81%E6%A3%80%E6%B5%8B%E5%8F%AF%E8%83%BD%E5%AF%BC%E8%87%B4%E9%80%9F%E5%BA%A6%E5%87%8F%E6%85%A2%E3%80%82%20%E6%9C%89%E6%97%B6%EF%BC%8C%E5%BD%93%E5%8F%91%E7%94%9F%E6%AD%BB%E9%94%81%E6%97%B6%EF%BC%8C%E5%A6%82%E6%9E%9C%E7%A6%81%E7%94%A8%E4%BA%86%E6%AD%BB%E9%94%81%E6%A3%80%E6%B5%8B%E5%88%99%E5%8F%AF%E8%83%BD%E4%BC%9A%E6%9B%B4%E6%9C%89%E6%95%88%EF%BC%8C%E8%BF%99%E6%A0%B7%E5%8F%AF%E4%BB%A5%E4%BE%9D%E8%B5%96**innodb_lock_wait_timeout**%EF%BC%88%E5%8F%82%E6%95%B0%E5%8D%95%E4%BD%8D%EF%BC%9A**%E7%A7%92**%EF%BC%89%E7%9A%84%E8%AE%BE%E7%BD%AE%E8%BF%9B%E8%A1%8C%E4%BA%8B%E5%8A%A1%E5%9B%9E%E6%BB%9A%E3%80%82%0A%0A**innodb_lock_wait_timeout**%EF%BC%9A%0A%E4%BA%8B%E5%8A%A1%E6%94%BE%E5%BC%83%E5%89%8DInnoDB%E7%AD%89%E5%BE%85**%E8%A1%8C%E9%94%81%E5%AE%9A**%E7%9A%84%E6%97%B6%E9%97%B4%E9%95%BF%E5%BA%A6%EF%BC%88%E5%8D%95%E4%BD%8D%EF%BC%9A**%E7%A7%92**%EF%BC%89%E3%80%82%E9%BB%98%E8%AE%A4%E5%80%BC%E6%98%AF50%E7%A7%92%E3%80%82%0A**%E5%8F%91%E7%94%9F%E9%94%81%E5%AE%9A%E7%AD%89%E5%BE%85%E8%B6%85%E6%97%B6%E6%97%B6%EF%BC%8C%E5%B0%86%E5%9B%9E%E6%BB%9A%E5%BD%93%E5%89%8D%E8%AF%AD%E5%8F%A5%C2%A0%EF%BC%88%E8%80%8C%E4%B8%8D%E6%98%AF%E6%95%B4%E4%B8%AA%E4%BA%8B%E5%8A%A1%EF%BC%89**%E3%80%82%E8%A6%81%E4%BD%BF%E6%95%B4%E4%B8%AA%E4%BA%8B%E5%8A%A1%E5%9B%9E%E6%BB%9A%EF%BC%8C%E8%AF%B7%E4%BD%BF%E7%94%A8%E8%AF%A5--innodb-rollback-on-timeout%C2%A0%E9%80%89%E9%A1%B9%E5%90%AF%E5%8A%A8%E6%9C%8D%E5%8A%A1%E5%99%A8%C2%A0%E3%80%82%0A%0Ainnodb_deadlock_detect%E5%90%AF%E7%94%A8%E6%97%B6%EF%BC%88%E9%BB%98%E8%AE%A4%E5%80%BC%EF%BC%89%C2%A0%E9%94%81%E5%AE%9A%E7%AD%89%E5%BE%85%E8%B6%85%E6%97%B6%E5%80%BC%E5%8F%AA%E9%80%82%E7%94%A8%E4%BA%8E%E9%94%81%E7%AD%89%E5%BE%85%EF%BC%8C%E8%80%8C%E4%B8%8D%E9%80%82%E7%94%A8%E4%BA%8E%C2%A0%E6%AD%BB%E9%94%81%EF%BC%8C%E5%9B%A0%E4%B8%BAInnoDB%C2%A0%E4%BC%9A%E7%AB%8B%E5%8D%B3%E6%A3%80%E6%B5%8B%E5%88%B0%E6%AD%BB%E9%94%81%E5%B9%B6%E5%9B%9E%E6%BB%9A%E5%85%B6%E4%B8%AD%E4%B8%80%E4%B8%AA%E6%AD%BB%E9%94%81%E4%BA%8B%E5%8A%A1%E3%80%82**%E5%BD%93%C2%A0innodb_deadlock_detect%E8%A2%AB%E7%A6%81%E7%94%A8%EF%BC%8CInnoDB%E6%89%8D%E4%BC%9A%E5%9C%A8%E5%8F%91%E7%94%9F%E6%AD%BB%E9%94%81%E6%97%B6%EF%BC%8C%E4%BE%9D%E8%B5%96%E4%BA%8Einnodb_lock_wait_timeout%E5%AF%B9%E4%BA%8B%E5%8A%A1%E8%BF%9B%E8%A1%8C%E5%9B%9E%E6%BB%9A**%E3%80%82%0A%0A*%20%E5%8F%AF%E4%BB%A5%E4%B8%BA%E9%AB%98%E5%BA%A6%E4%BA%A4%E4%BA%92%E7%9A%84%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F%E6%88%96OLTP%E7%B3%BB%E7%BB%9F%E9%99%8D%E4%BD%8E%E6%AD%A4%E5%80%BC%EF%BC%8C%E4%BB%A5%E5%BF%AB%E9%80%9F%E6%98%BE%E7%A4%BA%E7%94%A8%E6%88%B7%E5%8F%8D%E9%A6%88%E6%88%96%E5%B0%86%E6%9B%B4%E6%96%B0%E6%94%BE%E5%85%A5%E9%98%9F%E5%88%97%E4%BB%A5%E4%BE%BF%E7%A8%8D%E5%90%8E%E5%A4%84%E7%90%86%E3%80%82%0A*%20%E5%8F%AF%E4%BB%A5%E4%B8%BA%E9%95%BF%E6%97%B6%E9%97%B4%E8%BF%90%E8%A1%8C%E7%9A%84%E5%90%8E%E7%AB%AF%E6%93%8D%E4%BD%9C%E5%A2%9E%E5%8A%A0%E6%AD%A4%E5%80%BC%EF%BC%8C%E4%BE%8B%E5%A6%82%E7%AD%89%E5%BE%85%E5%85%B6%E4%BB%96%E5%A4%A7%E5%9E%8B%E6%8F%92%E5%85%A5%E6%88%96%E6%9B%B4%E6%96%B0%E6%93%8D%E4%BD%9C%E5%AE%8C%E6%88%90%E7%9A%84%E6%95%B0%E6%8D%AE%E4%BB%93%E5%BA%93%E4%B8%AD%E7%9A%84%E8%BD%AC%E6%8D%A2%E6%AD%A5%E9%AA%A4%E3%80%82%0A%0A%23%23%23%23%20%E5%A6%82%E4%BD%95%E6%9C%80%E5%B0%8F%E5%8C%96%E5%92%8C%E5%A4%84%E7%90%86%E6%AD%BB%E9%94%81%0A%0A*%20%E4%BD%BF%E7%94%A8**show%20engine%20innodb%20status**%E5%91%BD%E4%BB%A4%E4%BB%A5%E7%A1%AE%E5%AE%9A%E6%9C%80%E8%BF%91%E6%AD%BB%E9%94%81%E7%9A%84%E5%8E%9F%E5%9B%A0%EF%BC%9B%0A*%20%E9%80%9A%E8%BF%87**innodb_deadlock_detect%EF%BC%88%E6%AD%BB%E9%94%81%E6%A3%80%E6%B5%8B%EF%BC%89**%EF%BC%8C%E5%B9%B6%E8%AE%BE%E7%BD%AE%E5%90%88%E7%90%86%E7%9A%84**innodb_lock_wait_timeout**%E5%8F%98%E9%87%8F%E5%80%BC%EF%BC%8C%E9%AB%98%E5%B9%B6%E5%8F%91%E7%B3%BB%E7%BB%9F%E5%B0%BD%E5%8F%AF%E8%83%BD%E5%B0%8F%EF%BC%8C%E9%95%BF%E6%97%B6%E9%97%B4%E8%BF%90%E8%A1%8C%E7%9A%84%E5%90%8E%E7%AB%AF%E6%93%8D%E4%BD%9C%E5%B0%BD%E5%8F%AF%E8%83%BD%E5%A4%A7%EF%BC%9B%0A*%20%E5%A6%82%E6%9E%9C%E6%AD%BB%E9%94%81%E9%A2%91%E7%B9%81%E5%8F%91%E7%94%9F%EF%BC%8C%E5%8F%AF%E4%BB%A5%E9%80%9A%E8%BF%87%E5%BC%80%E5%90%AF**innodb_print_all_deadlocks**%E9%85%8D%E7%BD%AE%E9%80%89%E9%A1%B9%E6%94%B6%E9%9B%86%E6%9B%B4%E5%A4%9A%E7%9A%84%E8%B0%83%E8%AF%95%E4%BF%A1%E6%81%AF%E3%80%82%E6%9C%89%E5%85%B3%E6%AF%8F%E4%B8%AA%E6%AD%BB%E9%94%81%E7%9A%84%E4%BF%A1%E6%81%AF%EF%BC%8C%E9%83%BD%E4%BC%9A%E8%AE%B0%E5%BD%95%E5%9C%A8MySQL%E9%94%99%E8%AF%AF%E6%97%A5%E5%BF%97%E4%B8%AD%EF%BC%8C%E5%AE%8C%E6%88%90%E8%B0%83%E8%AF%95%E5%90%8E%E7%A6%81%E7%94%A8%E6%AD%A4%E9%80%89%E9%A1%B9%E3%80%82%0A*%20%E5%A6%82%E6%9E%9C%E7%94%B1%E4%BA%8E%E6%AD%BB%E9%94%81%E8%80%8C%E5%AF%BC%E8%87%B4%E4%BA%8B%E5%8A%A1%E5%A4%B1%E8%B4%A5%EF%BC%8C%E5%8F%AF%E4%BB%A5%E5%B0%9D%E8%AF%95%E8%BF%9B%E8%A1%8C%E4%BA%8B%E5%8A%A1%E9%87%8D%E8%AF%95%EF%BC%9B%0A*%20%E5%B0%BD%E9%87%8F%E4%BD%BF%E4%BA%8B%E5%8A%A1%E8%B6%B3%E5%A4%9F%E5%B0%8F%EF%BC%8C%E9%81%BF%E5%85%8D%E4%BD%BF%E7%94%A8%E8%BE%83%E5%A4%A7%E7%9A%84%E4%BA%8B%E5%8A%A1%EF%BC%9B%0A*%20%E5%BD%93%E4%B8%8D%E5%90%8C%E7%9A%84%E4%BA%8B%E5%8A%A1%E6%9B%B4%E6%96%B0%E5%A4%9A%E4%B8%AA%E8%A1%A8%E6%88%96%E8%80%85%E5%A4%A7%E8%8C%83%E5%9B%B4%E7%9A%84%E8%A1%8C%E6%97%B6%EF%BC%8C%E6%AF%8F%E4%B8%AA%E4%BA%8B%E5%8A%A1%E4%B8%AD%E6%93%8D%E4%BD%9C%E6%95%B0%E6%8D%AE%E7%9A%84%E9%A1%BA%E5%BA%8F%E5%B0%BD%E9%87%8F%E7%9B%B8%E5%90%8C%EF%BC%9B%0A*%20%E5%BB%BA%E7%AB%8B%E5%90%88%E9%80%82%E9%AB%98%E6%95%88%E7%9A%84%E7%B4%A2%E5%BC%95%EF%BC%8C%E4%BD%BF%E5%BE%97%E6%93%8D%E4%BD%9C%E9%9C%80%E8%A6%81%E6%89%AB%E6%8F%8F%E7%9A%84%E7%B4%A2%E5%BC%95%E8%AE%B0%E5%BD%95%E5%B0%BD%E5%8F%AF%E8%83%BD%E7%9A%84%E5%B0%91%EF%BC%8C%E4%BB%8E%E8%80%8C%E8%AE%BE%E7%BD%AE%E6%9B%B4%E5%B0%91%E7%9A%84%E9%94%81%EF%BC%9B%0A*%20%E5%90%88%E7%90%86%E8%AE%BE%E7%BD%AE%E6%95%B0%E6%8D%AE%E5%BA%93%E7%9A%84%E9%9A%94%E7%A6%BB%E7%BA%A7%E5%88%AB%EF%BC%8C%E5%9C%A8**%E9%94%81%E5%AE%9A%E8%AF%BB%E6%93%8D%E4%BD%9C**%E8%BE%83%E5%A4%9A%E7%9A%84%E4%B8%9A%E5%8A%A1%E7%B3%BB%E7%BB%9F%E4%B8%AD%EF%BC%8C%E8%AF%B7%E5%B0%9D%E8%AF%95%E4%BD%BF%E7%94%A8%E8%BE%83%E4%BD%8E%E7%9A%84%E9%9A%94%E7%A6%BB%E7%BA%A7%E5%88%AB%EF%BC%9B%0A*%20%E5%90%88%E7%90%86%E5%9C%B0%E8%AE%BE%E8%AE%A1%E4%BA%8B%E5%8A%A1%E5%92%8C%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F%E7%9A%84%E7%BB%93%E6%9E%84%EF%BC%9B%0A*%20%E5%9C%A8%E4%BA%8B%E5%8A%A1%E5%BC%80%E5%A7%8B%E6%97%B6%EF%BC%8C%E5%B0%B1%E8%8E%B7%E5%8F%96%E8%B6%B3%E5%A4%9F%E6%9D%83%E9%99%90%E7%9A%84%E9%94%81%EF%BC%9B%0A*%20%E5%BD%93%E4%B8%8D%E5%BE%97%E4%B8%8D%E6%93%8D%E4%BD%9C%E9%9D%9E%E5%B8%B8%E5%A4%A7%E7%9A%84%E6%95%B0%E6%8D%AE%E9%87%8F%E6%97%B6%EF%BC%8C%E5%8F%AF%E4%BB%A5%E4%BD%BF%E7%94%A8%E8%A1%A8%E7%BA%A7%E9%94%81%E5%AF%B9%E4%BA%8B%E5%8A%A1%E8%BF%9B%E8%A1%8C%E5%BA%8F%E5%88%97%E5%8C%96%E3%80%82%E4%BD%BF%E7%94%A8%E6%96%B9%E6%B3%95%EF%BC%9ASET%20autocommit%20%3D%200%EF%BC%88%E9%9D%9E%C2%A0START%20TRANSACTION%EF%BC%89%E5%90%8E%E8%B7%9F%E5%BC%80%E5%A7%8B%E4%BA%8B%E5%8A%A1LOCK%20TABLES%EF%BC%8C%E5%B9%B6%E4%B8%94UNLOCK%20TABLES%E5%9C%A8%E6%98%BE%E5%BC%8F%E6%8F%90%E4%BA%A4%E4%BA%8B%E5%8A%A1%E4%B9%8B%E5%89%8D%E4%B8%8D%E8%B0%83%E7%94%A8%C2%A0%E3%80%82%E4%BE%8B%E5%A6%82%EF%BC%8C%E5%A6%82%E6%9E%9C%E6%82%A8%E9%9C%80%E8%A6%81%E5%86%99%E5%85%A5%E8%A1%A8%C2%A0t1%E5%B9%B6%E4%BB%8E%E8%A1%A8%E4%B8%AD%E8%AF%BB%E5%8F%96%C2%A0t2%EF%BC%8C%E5%88%99%E5%8F%AF%E4%BB%A5%E6%89%A7%E8%A1%8C%E4%BB%A5%E4%B8%8B%E6%93%8D%E4%BD%9C%EF%BC%9A!%5Bee0caaea9281125a52508524959ee3d1.png%5D(en-resource%3A%2F%2Fdatabase%2F1297%3A0)%0A%E8%A1%A8%E7%BA%A7%E9%94%81%E5%8F%AF%E9%98%B2%E6%AD%A2%E5%AF%B9%E8%A1%A8%E7%9A%84%E5%B9%B6%E5%8F%91%E6%9B%B4%E6%96%B0%EF%BC%8C%E4%BB%8E%E8%80%8C%E9%81%BF%E5%85%8D%E6%AD%BB%E9%94%81%EF%BC%8C%E4%BD%86%E4%BB%A3%E4%BB%B7%E6%98%AF%E5%AF%B9%E7%B9%81%E5%BF%99%E7%B3%BB%E7%BB%9F%E7%9A%84%E5%93%8D%E5%BA%94%E6%80%A7%E8%BE%83%E4%BD%8E%E3%80%82%0A%0A%0A%0A</center></span>
</div></body></html> 